// 获取唯一的UUID
export const generateUUID = () => {
  // 定义函数名称为 generateUUID, 无参数
  let d = new Date().getTime(); // 获取当前时间的时间戳，并且赋值给变量 d
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
    // 通过 replace 函数将 'xxxxxxxx-xxxx...' 这个字符串中的所有 'x' 或 'y' 替换成随机生成的十六进制数
    const r = (d + Math.random() * 16) % 16 | 0; // 生成 0-15 随机整数，并且将时间戳加入以保证唯一性
    d = Math.floor(d / 16); // 再将时间戳除以 16 以准备为下一个 16 位的字符生成新的随机数
    return (c == 'x' ? r : (r & 0x3) | 0x8).toString(16); // 将之前生成的 0-15 的整数转换为 16 进制数字字符，并且将 'x' 替换成 lower case 字符，'y' 替换成 8, 9, a, or b 这些特殊的 16 进制数字符。
  });
};

// 校验手机号是否正确
export const validatePhoneNumber = (phoneNumber: string): boolean => {
  const myReg = /^[1][3,4,5,7,8][0-9]{9}$/;
  return myReg.test(phoneNumber); // 自定义规则
};

// 延时函数
export const delay = (ms) => {
  return new Promise((resolve) => setTimeout(resolve, ms));
};

// 获取红色markdown
export const getRedMarkdown = (value: string) => {
  return `<font color="#dd0000">${value}</font>`;
};
